<!DOCTYPE html>
<html lang="" xml:lang="">
<head>

  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <title>第 4 章 排序与聚类 | 生态统计学原理</title>
  <meta name="description" content="这是生态学统计基础的课程文件" />
  <meta name="generator" content="bookdown 0.40 and GitBook 2.6.7" />

  <meta property="og:title" content="第 4 章 排序与聚类 | 生态统计学原理" />
  <meta property="og:type" content="book" />
  
  <meta property="og:description" content="这是生态学统计基础的课程文件" />
  <meta name="github-repo" content="rstudio/bookdown-demo" />

  <meta name="twitter:card" content="summary" />
  <meta name="twitter:title" content="第 4 章 排序与聚类 | 生态统计学原理" />
  
  <meta name="twitter:description" content="这是生态学统计基础的课程文件" />
  

<meta name="author" content="沈国春、李勤，华东师范大学生态与环境科学学院" />



  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <meta name="apple-mobile-web-app-capable" content="yes" />
  <meta name="apple-mobile-web-app-status-bar-style" content="black" />
  
  
<link rel="prev" href="r语言基础.html"/>

<script src="libs/jquery-3.6.0/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/fuse.js@6.4.6/dist/fuse.min.js"></script>
<link href="libs/gitbook-2.6.7/css/style.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-table.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-bookdown.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-highlight.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-search.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-fontsettings.css" rel="stylesheet" />
<link href="libs/gitbook-2.6.7/css/plugin-clipboard.css" rel="stylesheet" />








<link href="libs/anchor-sections-1.1.0/anchor-sections.css" rel="stylesheet" />
<link href="libs/anchor-sections-1.1.0/anchor-sections-hash.css" rel="stylesheet" />
<script src="libs/anchor-sections-1.1.0/anchor-sections.js"></script>


<style type="text/css">
pre > code.sourceCode { white-space: pre; position: relative; }
pre > code.sourceCode > span { line-height: 1.25; }
pre > code.sourceCode > span:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode > span { color: inherit; text-decoration: inherit; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
pre > code.sourceCode { white-space: pre-wrap; }
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
}
pre.numberSource code
  { counter-reset: source-line 0; }
pre.numberSource code > span
  { position: relative; left: -4em; counter-increment: source-line; }
pre.numberSource code > span > a:first-child::before
  { content: counter(source-line);
    position: relative; left: -1em; text-align: right; vertical-align: baseline;
    border: none; display: inline-block;
    -webkit-touch-callout: none; -webkit-user-select: none;
    -khtml-user-select: none; -moz-user-select: none;
    -ms-user-select: none; user-select: none;
    padding: 0 4px; width: 4em;
    color: #aaaaaa;
  }
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-left: 4px; }
div.sourceCode
  {   }
@media screen {
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
}
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #7d9029; } /* Attribute */
code span.bn { color: #40a070; } /* BaseN */
code span.bu { color: #008000; } /* BuiltIn */
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4070a0; } /* Char */
code span.cn { color: #880000; } /* Constant */
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
code span.dt { color: #902000; } /* DataType */
code span.dv { color: #40a070; } /* DecVal */
code span.er { color: #ff0000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #40a070; } /* Float */
code span.fu { color: #06287e; } /* Function */
code span.im { color: #008000; font-weight: bold; } /* Import */
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
code span.op { color: #666666; } /* Operator */
code span.ot { color: #007020; } /* Other */
code span.pp { color: #bc7a00; } /* Preprocessor */
code span.sc { color: #4070a0; } /* SpecialChar */
code span.ss { color: #bb6688; } /* SpecialString */
code span.st { color: #4070a0; } /* String */
code span.va { color: #19177c; } /* Variable */
code span.vs { color: #4070a0; } /* VerbatimString */
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
</style>

<style type="text/css">
  
  div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
</style>

<link rel="stylesheet" href="style.css" type="text/css" />
</head>

<body>



  <div class="book without-animation with-summary font-size-2 font-family-1" data-basepath=".">

    <div class="book-summary">
      <nav role="navigation">

<ul class="summary">
<li><a href="./">生态统计学原理</a></li>

<li class="divider"></li>
<li class="chapter" data-level="1" data-path="index.html"><a href="index.html"><i class="fa fa-check"></i><b>1</b> 前言</a>
<ul>
<li class="chapter" data-level="1.1" data-path="index.html"><a href="index.html#为什么要学生态统计"><i class="fa fa-check"></i><b>1.1</b> 为什么要学生态统计</a></li>
<li class="chapter" data-level="1.2" data-path="index.html"><a href="index.html#为什么要学r语言"><i class="fa fa-check"></i><b>1.2</b> 为什么要学R语言</a></li>
<li class="chapter" data-level="1.3" data-path="index.html"><a href="index.html#如何使用和修改本书"><i class="fa fa-check"></i><b>1.3</b> 如何使用和修改本书</a></li>
<li class="chapter" data-level="1.4" data-path="index.html"><a href="index.html#课程助教"><i class="fa fa-check"></i><b>1.4</b> 课程助教</a></li>
</ul></li>
<li class="chapter" data-level="2" data-path="如何开始.html"><a href="如何开始.html"><i class="fa fa-check"></i><b>2</b> 如何开始</a>
<ul>
<li class="chapter" data-level="2.1" data-path="如何开始.html"><a href="如何开始.html#计算机的一些基本原理"><i class="fa fa-check"></i><b>2.1</b> 计算机的一些基本原理</a></li>
<li class="chapter" data-level="2.2" data-path="如何开始.html"><a href="如何开始.html#安装r程序"><i class="fa fa-check"></i><b>2.2</b> 安装R程序</a></li>
<li class="chapter" data-level="2.3" data-path="如何开始.html"><a href="如何开始.html#运行r程序"><i class="fa fa-check"></i><b>2.3</b> 运行R程序</a></li>
<li class="chapter" data-level="2.4" data-path="如何开始.html"><a href="如何开始.html#停止r程序"><i class="fa fa-check"></i><b>2.4</b> 停止R程序</a></li>
<li class="chapter" data-level="2.5" data-path="如何开始.html"><a href="如何开始.html#安装rstudio"><i class="fa fa-check"></i><b>2.5</b> 安装Rstudio</a></li>
<li class="chapter" data-level="2.6" data-path="如何开始.html"><a href="如何开始.html#获取帮助"><i class="fa fa-check"></i><b>2.6</b> 获取帮助</a>
<ul>
<li class="chapter" data-level="2.6.1" data-path="如何开始.html"><a href="如何开始.html#本地帮助文档"><i class="fa fa-check"></i><b>2.6.1</b> 本地帮助文档</a></li>
<li class="chapter" data-level="2.6.2" data-path="如何开始.html"><a href="如何开始.html#在线帮助"><i class="fa fa-check"></i><b>2.6.2</b> 在线帮助</a></li>
<li class="chapter" data-level="2.6.3" data-path="如何开始.html"><a href="如何开始.html#直接询问ai"><i class="fa fa-check"></i><b>2.6.3</b> 直接询问AI</a></li>
</ul></li>
<li class="chapter" data-level="2.7" data-path="如何开始.html"><a href="如何开始.html#r软件包"><i class="fa fa-check"></i><b>2.7</b> R软件包</a>
<ul>
<li class="chapter" data-level="2.7.1" data-path="如何开始.html"><a href="如何开始.html#使用r软件包"><i class="fa fa-check"></i><b>2.7.1</b> 使用R软件包</a></li>
<li class="chapter" data-level="2.7.2" data-path="如何开始.html"><a href="如何开始.html#r软件包内容"><i class="fa fa-check"></i><b>2.7.2</b> R软件包内容</a></li>
<li class="chapter" data-level="2.7.3" data-path="如何开始.html"><a href="如何开始.html#安装r软件包"><i class="fa fa-check"></i><b>2.7.3</b> 安装R软件包</a></li>
</ul></li>
<li class="chapter" data-level="2.8" data-path="如何开始.html"><a href="如何开始.html#安装其他功能"><i class="fa fa-check"></i><b>2.8</b> 安装其他功能</a>
<ul>
<li class="chapter" data-level="2.8.1" data-path="如何开始.html"><a href="如何开始.html#版本控制软件"><i class="fa fa-check"></i><b>2.8.1</b> 版本控制软件</a></li>
<li class="chapter" data-level="2.8.2" data-path="如何开始.html"><a href="如何开始.html#编写r软件包的辅助工具"><i class="fa fa-check"></i><b>2.8.2</b> 编写R软件包的辅助工具</a></li>
</ul></li>
<li class="chapter" data-level="2.9" data-path="如何开始.html"><a href="如何开始.html#获取本书资料"><i class="fa fa-check"></i><b>2.9</b> 获取本书资料</a>
<ul>
<li class="chapter" data-level="2.9.1" data-path="如何开始.html"><a href="如何开始.html#仅查看本书资料"><i class="fa fa-check"></i><b>2.9.1</b> 仅查看本书资料</a></li>
<li class="chapter" data-level="2.9.2" data-path="如何开始.html"><a href="如何开始.html#查看和修改本书资料"><i class="fa fa-check"></i><b>2.9.2</b> 查看和修改本书资料</a></li>
</ul></li>
</ul></li>
<li class="chapter" data-level="3" data-path="r语言基础.html"><a href="r语言基础.html"><i class="fa fa-check"></i><b>3</b> R语言基础</a>
<ul>
<li class="chapter" data-level="3.1" data-path="r语言基础.html"><a href="r语言基础.html#重要的快捷键"><i class="fa fa-check"></i><b>3.1</b> 重要的快捷键</a></li>
<li class="chapter" data-level="3.2" data-path="r语言基础.html"><a href="r语言基础.html#基本数据类型"><i class="fa fa-check"></i><b>3.2</b> 基本数据类型</a>
<ul>
<li class="chapter" data-level="3.2.1" data-path="r语言基础.html"><a href="r语言基础.html#字符"><i class="fa fa-check"></i><b>3.2.1</b> 字符</a></li>
<li class="chapter" data-level="3.2.2" data-path="r语言基础.html"><a href="r语言基础.html#数字"><i class="fa fa-check"></i><b>3.2.2</b> 数字</a></li>
<li class="chapter" data-level="3.2.3" data-path="r语言基础.html"><a href="r语言基础.html#逻辑值"><i class="fa fa-check"></i><b>3.2.3</b> 逻辑值</a></li>
<li class="chapter" data-level="3.2.4" data-path="r语言基础.html"><a href="r语言基础.html#类型转换"><i class="fa fa-check"></i><b>3.2.4</b> 类型转换</a></li>
</ul></li>
<li class="chapter" data-level="3.3" data-path="r语言基础.html"><a href="r语言基础.html#数据运算"><i class="fa fa-check"></i><b>3.3</b> 数据运算</a>
<ul>
<li class="chapter" data-level="3.3.1" data-path="r语言基础.html"><a href="r语言基础.html#数字运算"><i class="fa fa-check"></i><b>3.3.1</b> 数字运算</a></li>
<li class="chapter" data-level="3.3.2" data-path="r语言基础.html"><a href="r语言基础.html#逻辑和关系运算"><i class="fa fa-check"></i><b>3.3.2</b> 逻辑和关系运算</a></li>
<li class="chapter" data-level="3.3.3" data-path="r语言基础.html"><a href="r语言基础.html#字符运算"><i class="fa fa-check"></i><b>3.3.3</b> 字符运算</a></li>
</ul></li>
<li class="chapter" data-level="3.4" data-path="r语言基础.html"><a href="r语言基础.html#常见运算函数"><i class="fa fa-check"></i><b>3.4</b> 常见运算函数</a></li>
<li class="chapter" data-level="3.5" data-path="r语言基础.html"><a href="r语言基础.html#变量"><i class="fa fa-check"></i><b>3.5</b> 变量</a>
<ul>
<li class="chapter" data-level="3.5.1" data-path="r语言基础.html"><a href="r语言基础.html#变量构造"><i class="fa fa-check"></i><b>3.5.1</b> 变量构造</a></li>
<li class="chapter" data-level="3.5.2" data-path="r语言基础.html"><a href="r语言基础.html#赋值"><i class="fa fa-check"></i><b>3.5.2</b> 赋值</a></li>
</ul></li>
<li class="chapter" data-level="3.6" data-path="r语言基础.html"><a href="r语言基础.html#逻辑控制"><i class="fa fa-check"></i><b>3.6</b> 逻辑控制</a>
<ul>
<li class="chapter" data-level="3.6.1" data-path="r语言基础.html"><a href="r语言基础.html#条件"><i class="fa fa-check"></i><b>3.6.1</b> 条件</a></li>
<li class="chapter" data-level="3.6.2" data-path="r语言基础.html"><a href="r语言基础.html#循环"><i class="fa fa-check"></i><b>3.6.2</b> 循环</a></li>
</ul></li>
<li class="chapter" data-level="3.7" data-path="r语言基础.html"><a href="r语言基础.html#容器"><i class="fa fa-check"></i><b>3.7</b> 容器</a>
<ul>
<li class="chapter" data-level="3.7.1" data-path="r语言基础.html"><a href="r语言基础.html#向量"><i class="fa fa-check"></i><b>3.7.1</b> 向量</a></li>
<li class="chapter" data-level="3.7.2" data-path="r语言基础.html"><a href="r语言基础.html#矩阵"><i class="fa fa-check"></i><b>3.7.2</b> 矩阵</a></li>
<li class="chapter" data-level="3.7.3" data-path="r语言基础.html"><a href="r语言基础.html#数据框"><i class="fa fa-check"></i><b>3.7.3</b> 数据框</a></li>
<li class="chapter" data-level="3.7.4" data-path="r语言基础.html"><a href="r语言基础.html#列表"><i class="fa fa-check"></i><b>3.7.4</b> 列表</a></li>
</ul></li>
<li class="chapter" data-level="3.8" data-path="r语言基础.html"><a href="r语言基础.html#函数"><i class="fa fa-check"></i><b>3.8</b> 函数</a>
<ul>
<li class="chapter" data-level="3.8.1" data-path="r语言基础.html"><a href="r语言基础.html#函数的判别"><i class="fa fa-check"></i><b>3.8.1</b> 函数的判别</a></li>
<li class="chapter" data-level="3.8.2" data-path="r语言基础.html"><a href="r语言基础.html#函数的定义"><i class="fa fa-check"></i><b>3.8.2</b> 函数的定义</a></li>
</ul></li>
<li class="chapter" data-level="3.9" data-path="r语言基础.html"><a href="r语言基础.html#作业"><i class="fa fa-check"></i><b>3.9</b> 作业</a></li>
</ul></li>
<li class="chapter" data-level="4" data-path="排序与聚类.html"><a href="排序与聚类.html"><i class="fa fa-check"></i><b>4</b> 排序与聚类</a>
<ul>
<li class="chapter" data-level="4.1" data-path="排序与聚类.html"><a href="排序与聚类.html#排序简介"><i class="fa fa-check"></i><b>4.1</b> 排序简介</a>
<ul>
<li class="chapter" data-level="4.1.1" data-path="排序与聚类.html"><a href="排序与聚类.html#排序的原理"><i class="fa fa-check"></i><b>4.1.1</b> 排序的原理</a></li>
<li class="chapter" data-level="4.1.2" data-path="排序与聚类.html"><a href="排序与聚类.html#常用的几种排序分析"><i class="fa fa-check"></i><b>4.1.2</b> 常用的几种排序分析</a></li>
<li class="chapter" data-level="4.1.3" data-path="排序与聚类.html"><a href="排序与聚类.html#排序基本原理"><i class="fa fa-check"></i><b>4.1.3</b> 排序基本原理</a></li>
</ul></li>
<li class="chapter" data-level="4.2" data-path="排序与聚类.html"><a href="排序与聚类.html#主成分分析"><i class="fa fa-check"></i><b>4.2</b> 主成分分析</a></li>
</ul></li>
<li class="divider"></li>
<li><a href="https://faculty.ecnu.edu.cn/_s31/sgc/main.psp" target="blank">个人主页</a></li>

</ul>

      </nav>
    </div>

    <div class="book-body">
      <div class="body-inner">
        <div class="book-header" role="navigation">
          <h1>
            <i class="fa fa-circle-o-notch fa-spin"></i><a href="./">生态统计学原理</a>
          </h1>
        </div>

        <div class="page-wrapper" tabindex="-1" role="main">
          <div class="page-inner">

            <section class="normal" id="section-">
<div id="排序与聚类" class="section level1 hasAnchor" number="4">
<h1><span class="header-section-number">第 4 章</span> 排序与聚类<a href="排序与聚类.html#排序与聚类" class="anchor-section" aria-label="Anchor link to header"></a></h1>
<div id="排序简介" class="section level2 hasAnchor" number="4.1">
<h2><span class="header-section-number">4.1</span> 排序简介<a href="排序与聚类.html#排序简介" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<div id="排序的原理" class="section level3 hasAnchor" number="4.1.1">
<h3><span class="header-section-number">4.1.1</span> 排序的原理<a href="排序与聚类.html#排序的原理" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>排序的主要目的是将对象（在生态学中通常是采样点）显示到（多元）散布图中，也称为散点图。</p>
<p>这里就是一个二维的散点图：</p>
<div class="figure" style="text-align: center"><span style="display:block;" id="fig:ordexamp"></span>
<img src="_figures/ordination%20examples.jpeg" alt="有关水果的二维散点图" width="600px" />
<p class="caption">
图 4.1: 有关水果的二维散点图
</p>
</div>
<p>这些轴根据可识别的标准分散果实：</p>
<ul>
<li><p>易剥皮或难剥皮，甜味或酸味。</p></li>
<li><p>相似的水果聚集在一起；它们之间的距离很小。</p></li>
<li><p>非常不同的水果相距很远；它们之间的距离很大。</p></li>
<li><p>考虑到用于轴的变量，该图很好地表示了（或模拟了）水果之间的距离。</p></li>
</ul>
<p>生态数据的难点在于它们是多元的。每个变量在排序中都代表一个维度，因此会有许多维度。在生态学中，通常会对每个研究对象进行几个描述符的观察。例如，每个地点都可以观察到数百个物种和许多环境变量。在大多数情况下，生态学家感兴趣的不仅仅是几个描述符，而是描述关于所有描述符的对象变化的主要趋势。</p>
<p>排序这一方法，允许我们找到一个投影空间，该空间能够最好地以几个维度（通常是2或3个）总结数据。</p>
<div class="sourceCode" id="cb260"><pre class="sourceCode r"><code class="sourceCode r"><span id="cb260-1"><a href="排序与聚类.html#cb260-1" tabindex="-1"></a>spiders <span class="ot">=</span> <span class="fu">read.table</span>(<span class="fu">file.choose</span>())</span>
<span id="cb260-2"><a href="排序与聚类.html#cb260-2" tabindex="-1"></a><span class="co"># Hellinger transformation of the spider data</span></span>
<span id="cb260-3"><a href="排序与聚类.html#cb260-3" tabindex="-1"></a><span class="fu">library</span>(vegan)</span>
<span id="cb260-4"><a href="排序与聚类.html#cb260-4" tabindex="-1"></a>spiders.hel <span class="ot">=</span> <span class="fu">decostand</span>(spiders,<span class="st">&quot;hellinger&quot;</span>)</span>
<span id="cb260-5"><a href="排序与聚类.html#cb260-5" tabindex="-1"></a><span class="co"># PCA using function prcomp() of {stats}</span></span>
<span id="cb260-6"><a href="排序与聚类.html#cb260-6" tabindex="-1"></a>pca.spiders <span class="ot">=</span> <span class="fu">prcomp</span>(spiders.hel) </span>
<span id="cb260-7"><a href="排序与聚类.html#cb260-7" tabindex="-1"></a>spiders.sites <span class="ot">=</span> <span class="fu">summary</span>(pca.spiders)<span class="sc">$</span>x[,<span class="dv">1</span><span class="sc">:</span><span class="dv">3</span>]</span>
<span id="cb260-8"><a href="排序与聚类.html#cb260-8" tabindex="-1"></a><span class="fu">library</span>(rgl)</span>
<span id="cb260-9"><a href="排序与聚类.html#cb260-9" tabindex="-1"></a><span class="fu">rgl.open</span>()</span>
<span id="cb260-10"><a href="排序与聚类.html#cb260-10" tabindex="-1"></a><span class="fu">rgl.points</span>(spiders.sites,<span class="at">color=</span><span class="st">&quot;green&quot;</span>,<span class="at">size=</span><span class="dv">6</span>)</span>
<span id="cb260-11"><a href="排序与聚类.html#cb260-11" tabindex="-1"></a><span class="fu">rgl.lines</span>(<span class="at">x=</span><span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="dv">1</span>),<span class="at">y=</span><span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="at">z=</span><span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>))</span>
<span id="cb260-12"><a href="排序与聚类.html#cb260-12" tabindex="-1"></a><span class="fu">rgl.lines</span>(<span class="at">y=</span><span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="dv">1</span>),<span class="at">x=</span><span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="at">z=</span><span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>))</span>
<span id="cb260-13"><a href="排序与聚类.html#cb260-13" tabindex="-1"></a><span class="fu">rgl.lines</span>(<span class="at">z=</span><span class="fu">c</span>(<span class="sc">-</span><span class="dv">1</span>,<span class="dv">1</span>),<span class="at">x=</span><span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>),<span class="at">y=</span><span class="fu">c</span>(<span class="dv">0</span>,<span class="dv">0</span>))</span>
<span id="cb260-14"><a href="排序与聚类.html#cb260-14" tabindex="-1"></a><span class="fu">rgl.texts</span>(<span class="dv">1</span>,<span class="dv">0</span>,<span class="dv">0</span>,<span class="st">&quot;Axis1&quot;</span>)</span>
<span id="cb260-15"><a href="排序与聚类.html#cb260-15" tabindex="-1"></a><span class="fu">rgl.texts</span>(<span class="dv">0</span>,<span class="dv">1</span>,<span class="dv">0</span>,<span class="st">&quot;Axis2&quot;</span>)</span>
<span id="cb260-16"><a href="排序与聚类.html#cb260-16" tabindex="-1"></a><span class="fu">rgl.texts</span>(<span class="dv">0</span>,<span class="dv">0</span>,<span class="dv">1</span>,<span class="st">&quot;Axis3&quot;</span>)</span>
<span id="cb260-17"><a href="排序与聚类.html#cb260-17" tabindex="-1"></a><span class="co">#Rotate the graph in 3-D by moving the axes</span></span>
<span id="cb260-18"><a href="排序与聚类.html#cb260-18" tabindex="-1"></a></span>
<span id="cb260-19"><a href="排序与聚类.html#cb260-19" tabindex="-1"></a><span class="co">#Is there a position where the points have maximum dispersion?</span></span>
<span id="cb260-20"><a href="排序与聚类.html#cb260-20" tabindex="-1"></a><span class="co">#What is the statistical term for “dispersion” ?</span></span>
<span id="cb260-21"><a href="排序与聚类.html#cb260-21" tabindex="-1"></a></span>
<span id="cb260-22"><a href="排序与聚类.html#cb260-22" tabindex="-1"></a><span class="co"># What is the variance of the points along the 3 axes?</span></span>
<span id="cb260-23"><a href="排序与聚类.html#cb260-23" tabindex="-1"></a><span class="fu">apply</span>(spiders.sites,<span class="dv">2</span>,var)</span>
<span id="cb260-24"><a href="排序与聚类.html#cb260-24" tabindex="-1"></a><span class="co"># What are the first 3 eigenvalues of the PCA?</span></span>
<span id="cb260-25"><a href="排序与聚类.html#cb260-25" tabindex="-1"></a><span class="fu">summary</span>(pca.spiders)<span class="sc">$</span>sdev[<span class="dv">1</span><span class="sc">:</span><span class="dv">3</span>]<span class="sc">^</span><span class="dv">2</span></span></code></pre></div>
</div>
<div id="常用的几种排序分析" class="section level3 hasAnchor" number="4.1.2">
<h3><span class="header-section-number">4.1.2</span> 常用的几种排序分析<a href="排序与聚类.html#常用的几种排序分析" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<table style="width:99%;">
<colgroup>
<col width="52%" />
<col width="17%" />
<col width="29%" />
</colgroup>
<thead>
<tr class="header">
<th>方法</th>
<th>保留的差异</th>
<th>变量类型</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>主成分分析</p>
<p>Principal component analysis （PCA）</p></td>
<td>欧式距离</td>
<td>数值变量的线性关系</td>
</tr>
<tr class="even">
<td><p>典范分析</p>
<p>Correspondance analysis （CA）</p></td>
<td>卡方距离</td>
<td>频率或二值数据</td>
</tr>
<tr class="odd">
<td><p>主轴分析</p>
<p>Principle coordinate analysis （PCoA）</p></td>
<td>任何距离</td>
<td>数值或半数值，定性数据</td>
</tr>
<tr class="even">
<td><p>非度量多维尺度分析</p>
<p>Non-metric multidimensional scaling (nMDS)</p></td>
<td>任何距离</td>
<td>数值或半数值，定性数据</td>
</tr>
<tr class="odd">
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div id="排序基本原理" class="section level3 hasAnchor" number="4.1.3">
<h3><span class="header-section-number">4.1.3</span> 排序基本原理<a href="排序与聚类.html#排序基本原理" class="anchor-section" aria-label="Anchor link to header"></a></h3>
<p>在降维空间中进行排序的基本原理如下。设想一个n×p的数据集，其中包含n个对象和p个变量。我们可以把这n个对象看作是p维空间中的一组点。但请注意，这组点形成的点群通常并非球形，而是在某些方向上被拉长，在另一些方向上被压扁。重要的是，这些拉长或压扁的方向并不一定与多维空间中的单一维度（即某一个变量）完全对应。</p>
<p>点群被拉长最严重的方向，也就是点群方差最大的方向，这将是排序过程中首先提取出来的轴。实际上，方差最大的方向反映了数据中存在的最显著的梯度变化，这也是最重要信息所在之处。接下来要提取的轴，则是方差次大的方向，但前提是它必须与第一个轴保持正交（即线性独立，且标量积为0）。按照这样的逻辑，我们会一直继续这个过程，直到计算出所有需要的轴。</p>
<p>当数据中仅包含几个主要结构（如梯度或群组），并且我们的方法能够有效地提取这些信息时，那么前几个轴就已经囊括了大部分有价值的信息。也就是说，这些轴已经捕捉到了数据中的大部分方差。在这种情况下，降维空间（通常是二维的）中的投影点之间的距离，与原始多维空间中对象之间的距离会非常接近。</p>
<p>但值得注意的是，即使前几个轴解释的方差比例不高，排序方法仍然有其价值。特别是在一个原本充满噪声但隐藏着一些有趣结构的数据集中，这种情况更为明显。</p>
<p>此时，一个问题自然浮现：我们应该保留并解释多少个轴呢？换句话说，有多少个轴能够真正代表数据中可解释的结构？这个问题的答案并非一成不变，它取决于我们使用的具体方法以及数据的特性。</p>
</div>
</div>
<div id="主成分分析" class="section level2 hasAnchor" number="4.2">
<h2><span class="header-section-number">4.2</span> 主成分分析<a href="排序与聚类.html#主成分分析" class="anchor-section" aria-label="Anchor link to header"></a></h2>
<p>设想一个数据集，其中的变量都服从正态分布。这样的数据集，我们称之为呈现多元正态分布。当我们对这个数据集进行主成分分析（PCA）时，得到的第一主轴（或称为主成分轴）是一条特殊的直线。这条直线穿过了描述该多元正态分布的集中椭球体的最大维度。而接下来的那些轴，它们都是互相垂直的，且长度逐个递减，分别穿过了椭球体的次大维度（Legendre和Legendre，2012）。值得注意的是，从一个包含p个变量的数据集中，我们最多能够提取出p个这样的主轴。</p>
<p>换句话说，PCA实际上是对原始坐标轴系统进行了旋转操作。这个原始系统是由数据集中的变量所定义的。旋转后的新轴，我们称之为主成分，它们之间都是互相垂直的。更重要的是，这些新轴恰好与数据点散布的最大方差维度相对应。因此，主成分实际上给出了数据对象在这个新坐标系中的准确位置。</p>
<p>PCA是作用于一个称为离散矩阵S的特殊矩阵上的。这个S矩阵描述了变量之间的关系，它包含了变量的方差和协方差（当这些变量在维度上具有相同性质时），或者是由不同性质的变量所计算出的相关性。需要强调的是，PCA是专门为分析定量变量而设计的。它所保留的差异性是基于欧几里得距离的，而它所检测到的关系则是线性的。因此，PCA通常并不适合直接用于分析原始的物种丰度数据。不过，如果我们先对这些数据进行适当的预处理，那么PCA分析就可以派上用场了。</p>
<p>在主成分分析（PCA）排序图中，我们遵循笛卡尔坐标系散点图的惯例，将各个对象用点来表示，而变量则用箭头来展示。</p>

</div>
</div>
            </section>

          </div>
        </div>
      </div>
<a href="r语言基础.html" class="navigation navigation-prev navigation-unique" aria-label="Previous page"><i class="fa fa-angle-left"></i></a>

    </div>
  </div>
<script src="libs/gitbook-2.6.7/js/app.min.js"></script>
<script src="libs/gitbook-2.6.7/js/clipboard.min.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-search.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-sharing.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-fontsettings.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-bookdown.js"></script>
<script src="libs/gitbook-2.6.7/js/jquery.highlight.js"></script>
<script src="libs/gitbook-2.6.7/js/plugin-clipboard.js"></script>
<script>
gitbook.require(["gitbook"], function(gitbook) {
gitbook.start({
"sharing": {
"github": false,
"facebook": true,
"twitter": true,
"linkedin": false,
"weibo": false,
"instapaper": false,
"vk": false,
"whatsapp": false,
"all": ["facebook", "twitter", "linkedin", "weibo", "instapaper"]
},
"fontsettings": {
"theme": "white",
"family": "sans",
"size": 2
},
"edit": {
"link": "https://github.com/USERNAME/REPO/edit/BRANCH/03-ordination_clustering.Rmd",
"text": "编辑"
},
"history": {
"link": null,
"text": null
},
"view": {
"link": null,
"text": null
},
"download": ["_main.epub"],
"search": {
"engine": "fuse",
"options": null
},
"toc": {
"collapse": "subsection"
}
});
});
</script>

<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
  (function () {
    var script = document.createElement("script");
    script.type = "text/javascript";
    var src = "true";
    if (src === "" || src === "true") src = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/latest.js?config=TeX-MML-AM_CHTML";
    if (location.protocol !== "file:")
      if (/^https?:/.test(src))
        src = src.replace(/^https?:/, '');
    script.src = src;
    document.getElementsByTagName("head")[0].appendChild(script);
  })();
</script>
</body>

</html>
